package com.stefanini.pe.bbva.bp.in.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.stefanini.pe.bbva.bp.in.dao.iface.AdministrarMetasDAOIface;
import com.stefanini.pe.bbva.bp.in.to.Meta;

@Repository
public class AdministrarMetasDAOImpl extends SqlMapClientDaoSupport implements
		AdministrarMetasDAOIface {

	@Autowired
	public AdministrarMetasDAOImpl(SqlMapClient sqlMapClient) {
		super();
		super.setSqlMapClient(sqlMapClient);
	}
	
	@Override
	public List<Meta> listarTipoPerfilamientos(Meta objMeta) {
		Map map = new HashMap();
		map.put("in_idcodigotipo", objMeta.getIdTipoMeta());
		map.put("in_idusuarioasesor", Integer.parseInt(objMeta.getIdTipoEjecutivo().toString()));
		map.put("in_anio", Integer.parseInt(objMeta.getIdAnioMeta().toString()));
		getSqlMapClientTemplate()
				.queryForList(
						"BP_ADMINISTRAR_METAS_SqlMap.listarTipoPerfilamientos",
						map);
		return (List) map.get("result");
	}

	@Override
	public Map grabarUsuarioMeta(int idUsuarioAsesor, String idCodigoTipo,
			int anio, String valor, String codRegModi, String fecModi,
			String terminalModi) {
		Map map = new HashMap();
		try {
			map.put("in_idusuarioasesor", Integer.valueOf(idUsuarioAsesor));
			map.put("in_codigotipo", idCodigoTipo+"    ");
			map.put("in_anio", Integer.valueOf(anio));
			map.put("in_valor", valor);
			map.put("in_codregmodi", codRegModi);
			map.put("in_fecmodi", fecModi);
			map.put("in_terminalmodi", terminalModi);
			getSqlMapClientTemplate().update("BP_ADMINISTRAR_METAS_SqlMap.grabarUsuarioMeta",
					map);
			map.put("result", "ok");
		} catch (Exception e) {
			e.printStackTrace();
			map.put("result", "error");
		}
		return map;
	}

}
